package com.dji.compose_learning

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import com.dji.compose_learning.ui.view.EffectView
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
import kotlin.coroutines.EmptyCoroutineContext

/**
 * 可组合函数是用来描述ui的，在可组合函数中调用了非ui描述的犯法就会造成副作用
 * 这是为什么称之为副作用的原因
 * 副作用的执行时机是明确的；
 * 副作用的执行次数是可控的；
 * 副作用的执行不会造成泄露.
 *
 * ********************
 * 几个副作用的使用场景:
 * ********************
 * LaunchedEffect 第一次调用Compose函数的时候调用
 * DisposableEffect 内部有一个onDispose()函数，当页面退出时调用
 * SideEffect 可组合函数每次执行都会调用
 */
class EffectActivity:ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            EffectView()
        }
//        val coroutineScope = CoroutineScope(EmptyCoroutineContext)
//        coroutineScope.launch {  }
    }
}